﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PMSSys
{
    public partial class FollowUpEntryView : Form
    {
        public FollowUpEntryView(string fueID, followupController fueCtrl,int patientID )
        {
            InitializeComponent();
            fueObject = new FUE();
            fueCtrller = fueCtrl;
            this.patientID = patientID;
            if (String.IsNullOrEmpty(fueID))
            {
                addMode = true;
                this.Text = "Add Follow-Up Entry";
            }
            else
            {
                this.Text = "View Follow-Up Entry";
                fueObject.FueID = int.Parse(fueID);
                this.fueID = fueObject.FueID;
                fueCtrller.objectFiller(fueObject);
                dpFUE.Value = fueObject.FueDate;
                tbHGB.Text = fueObject.Blood_hgbhct;
                tbWBC.Text = fueObject.Blood_wbc;
                tbBseg.Text = fueObject.Blood_bseg_lympho;
                tbBlast.Text = fueObject.Blood_blast;
                tbPlatelets.Text = fueObject.Blood_platelets;
                tbANC.Text = fueObject.Blood_anc;
                tbEOS.Text = fueObject.Blood_eos_mono;
                tbFever.Text = fueObject.Probfever;
                tbAppetite.Text = fueObject.Probapetite;
                tbBleeding.Text = fueObject.Probbleeding;
                tbPain.Text = fueObject.Probpain;
                tbOthers.Text = fueObject.Probothers;
                tbTemp.Text = fueObject.Ppe_temp;
                tbHRRRBP.Text = fueObject.Ppe_hr_bp;
                tbAdenopathy.Text = fueObject.Ppadenophaty;
                tbAbdomen.Text = fueObject.Ppabdomen;
                tbSkin.Text = fueObject.Ppskin;
                tbRectal.Text = fueObject.Pprectal;
                tbSensory.Text = fueObject.Ppsensory;
                tbWeight.Text = fueObject.Ppweight;
                tbHEENT.Text = fueObject.Ppheent;
                tbChest.Text = fueObject.Ppchest;
                tbLiver.Text = fueObject.Ppliver;
                tbExtremities.Text = fueObject.Ppextremities;
                tbNeuro.Text = fueObject.Ppneuro;
                tbHeight.Text = fueObject.Ppheight;
                tbMucosa.Text = fueObject.Ppmucosa;
                tbHeart.Text = fueObject.Ppheart;
                tbSpleen.Text = fueObject.Ppspleen;
                tbGenitalia.Text = fueObject.Ppgenitalla;
                tbMotor.Text = fueObject.Ppmotor;
                tbDTR.Text = fueObject.Ppdtr;
                tbChemoNotes.Text = fueObject.Chemonotes;
                tbTransfusion.Text = fueObject.Intrathetcaltransfusion;
                tbPRBC.Text = fueObject.Intrathetcalprbc;
                tbIntPlatelet.Text = fueObject.Intrathetcalplatelet;
                tbFFP.Text = fueObject.Intrathetcalffp;
                tbBMA.Text = fueObject.Intrathetcalbma;
                tbCryoprecipitate.Text = fueObject.Intrathetcalcryo;
                tbCoreBiopsy.Text = fueObject.Intrathetcalcorebiop;
                tbIntraOthers.Text = fueObject.Intrathetcalothers;
                dpNextFUE.Value = fueObject.NextFueDate;
                isModified = false;
            }            
        }
        private bool isModified = false;
        private bool addMode = false;
        private FUE fueObject;
        private followupController fueCtrller;
        private int patientID,fueID;
        private void closeLogic(object sender, EventArgs e)
        {
            this.Close();

        }
        private void dateTimePicker2_ValueChanged(object sender, EventArgs e)
        {
            this.isModified = true;
        }
        private void FollowUpEntryView_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (isModified)
            {
                DialogResult res = uiUtility.confirmSaveDialog();
                if (res != DialogResult.Cancel)
                {
                    if (res == DialogResult.Yes)
                    {
                       DateTime dateNow = DateTime.Now;
                       int cmpDate = DateTime.Compare(dpFUE.Value,dateNow);
                       if (cmpDate <= 0)
                       {
                           if (addMode)
                           {
                               fueCtrller.add(addAttributes());
                           }
                           else
                           {
                               fueCtrller.update(addAttributes());
                           }
                       }
                       else
                       {
                           DialogResult validDate = uiUtility.validDate("Follow-Up Entry Date");
                           e.Cancel = true;
                       }
                    }

                }
                else
                    e.Cancel = true;
            }
        }
        private void FollowUpEntryView_Load(object sender, EventArgs e)
        {
            ToolTip t1 = uiUtility.tooltips();
            t1.SetToolTip(this.button6, "Back");
        }
        private FUE addAttributes()
        {
            fueObject.PatientID = this.patientID;
            fueObject.FueID = this.fueID;
            fueObject.FueDate = dpFUE.Value;
            fueObject.Blood_hgbhct = tbHGB.Text;
            fueObject.Blood_wbc = tbWBC.Text;
            fueObject.Blood_bseg_lympho = tbBseg.Text;
            fueObject.Blood_blast = tbBlast.Text;
            fueObject.Blood_platelets = tbPlatelets.Text;
            fueObject.Blood_anc = tbANC.Text;
            fueObject.Blood_eos_mono = tbEOS.Text;
            fueObject.Probfever = tbFever.Text;
            fueObject.Probapetite = tbAppetite.Text;
            fueObject.Probbleeding = tbBleeding.Text;
            fueObject.Probpain = tbPain.Text;
            fueObject.Probothers = tbOthers.Text;
            fueObject.Ppe_temp = tbTemp.Text;
            fueObject.Ppe_hr_bp = tbHRRRBP.Text;
            fueObject.Ppadenophaty = tbAdenopathy.Text;
            fueObject.Ppabdomen = tbAbdomen.Text;
            fueObject.Ppskin = tbSkin.Text;
            fueObject.Pprectal = tbRectal.Text;
            fueObject.Ppsensory = tbSensory.Text;
            fueObject.Ppweight = tbWeight.Text;
            fueObject.Ppheent = tbHEENT.Text;
            fueObject.Ppchest = tbChest.Text;
            fueObject.Ppliver = tbLiver.Text;
            fueObject.Ppextremities = tbExtremities.Text;
            fueObject.Ppneuro = tbNeuro.Text;
            fueObject.Ppheight = tbHeight.Text;
            fueObject.Ppmucosa = tbMucosa.Text;
            fueObject.Ppheart = tbHeart.Text;
            fueObject.Ppspleen = tbSpleen.Text;
            fueObject.Ppgenitalla = tbGenitalia.Text;
            fueObject.Ppmotor = tbMotor.Text;
            fueObject.Ppdtr = tbDTR.Text;
            fueObject.Chemonotes = tbChemoNotes.Text;
            fueObject.Intrathetcaltransfusion = tbTransfusion.Text;
            fueObject.Intrathetcalprbc = tbPRBC.Text;
            fueObject.Intrathetcalplatelet = tbIntPlatelet.Text;
            fueObject.Intrathetcalffp = tbFFP.Text;
            fueObject.Intrathetcalbma = tbBMA.Text;
            fueObject.Intrathetcalcryo = tbCryoprecipitate.Text;
            fueObject.Intrathetcalcorebiop = tbCoreBiopsy.Text;
            fueObject.Intrathetcalothers = tbIntraOthers.Text;
            fueObject.NextFueDate = dpNextFUE.Value;
            return fueObject;
        }
    }
}
